Real-time videos are widely used in many applications, such as video conferencing and video live broadcasting. To reduce sizes of transmitted videos and improve communication efficiency, the videos can be compressed, typically in accordance to a video coding standard.
Video clips can be generated from mobile devices or shared computer screens, for example. User habits or device functions often affect video contents, increasing the challenges for video compression and transmission. In one example, when taking videos with mobile phone devices, the devices are often moved around or shaken, causing rotated images. In another example, when capturing videos or sharing screens of a computer, zoom-in or zoom-out operations are often performed, causing zoomed images in the recorded or transmitted videos.